package com.jungle.system.application.service;

import com.jungle.domain.vo.SysOssVo;
import com.jungle.common.core.page.TableDataInfo;
import com.jungle.common.core.domain.PageQuery;
import com.jungle.pojo.domain.vo.SysOssResult;
import com.jungle.system.application.domain.bo.SysOssBo;
import org.springframework.web.multipart.MultipartFile;

import java.util.Collection;
import java.util.List;

/**
 * OSS对象存储对象Service接口
 *
 * @author jungle
 * @date 2023-10-03
 */
public interface ISysOssService {

    /**
     * 文件上传
     * @param file
     * @return
     */
    SysOssResult upload(MultipartFile file);

    SysOssResult uploadFile(MultipartFile file) throws Exception;



    /**
     * 查询OSS对象存储对象
     */
    SysOssVo queryById(Long ossId);

    /**
     * 查询OSS对象存储对象列表
     */
    TableDataInfo<SysOssVo> queryPageList(SysOssBo bo, PageQuery pageQuery);

    /**
     * 查询OSS对象存储对象列表
     */
    List<SysOssVo> queryList(SysOssBo bo);

    /**
     * 新增OSS对象存储对象
     */
    Boolean insertByBo(SysOssBo bo);

    /**
     * 修改OSS对象存储对象
     */
    Boolean updateByBo(SysOssBo bo);

    /**
     * 校验并批量删除OSS对象存储对象信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

}
